package com.example.demo.controller;

import com.example.demo.entity.Configvalues;
import com.example.demo.service.ConfigvaluesService;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

@RestController
@RequestMapping("/configvalues")
public class ConfigvaluesController {

    @Autowired
    private ConfigvaluesService configvaluesService;

    @GetMapping("/get/{id}")
    public Configvalues getById(@PathVariable Integer id) {
        Configvalues configvalues = configvaluesService.getById(id);
        return configvalues != null ? configvalues : new Configvalues();
    }

    @GetMapping("/get")
    public Configvalues getByEntity(Configvalues configvalues) {
        return configvaluesService.getByEntity(configvalues);
    }

    @GetMapping("/list")
    public List<Configvalues> list(Configvalues configvalues) {
        List<Configvalues> configvaluesList = configvaluesService.listByEntity(configvalues);
        return configvaluesList;
    }

    @PostMapping("/insert")
    public Configvalues insert(@RequestBody Configvalues configvalues) {
        configvaluesService.insert(configvalues);
        return configvalues;
    }

    @PutMapping("/update")
    public int update(@RequestBody Configvalues configvalues) {
        return configvaluesService.update(configvalues);
    }

    @DeleteMapping("/delete/{id}")
    public int deleteOne(@PathVariable Integer id) {
        return configvaluesService.deleteById(id);
    }

    @DeleteMapping("/delete")
    public int deleteBatch(@RequestBody List<Integer> ids) {
        int result = 0;
        if (ids != null && ids.size() > 0) result = configvaluesService.deleteByIds(ids);
        return result;
    }

}
